﻿namespace Agile.Shared.Application.Contracts;

public class HttpLoggingModel
{
    ///<summary>客户IP</summary>
    public string ClientIP { get; set; }

    ///<summary>服务器IP</summary>
    public string ServerIP { get; set; }

    ///<summary>请求时间</summary>
    public string RequestTime { get; set; }

    ///<summary>请求域名</summary>
    public string RequestHost { get; set; }

    ///<summary>请求接口</summary>
    public string RequestPath { get; set; }

    ///<summary>请求参数</summary>
    public string RequestQuery { get; set; }

    ///<summary>请求方法</summary>
    public string RequestMethod { get; set; }

    ///<summary>请求ContentType</summary>
    public string RequestContentType { get; set; }

    ///<summary>请求内容</summary>
    public string RequestBody { get; set; }

    ///<summary>请求内容长度</summary>
    public long RequestContentLength { get; set; }

    ///<summary>请求UserAgent</summary>
    public string RequestUserAgent { get; set; }

    ///<summary>请求Authorization</summary>
    public string RequestAuthorization { get; set; }

    ///<summary>响应时间</summary>
    public string ResponseTime { get; set; }

    ///<summary>响应内容</summary>
    public string ResponseBody { get; set; }

    ///<summary>响应ContentType</summary>
    public string ResponseContentType { get; set; }

    ///<summary>响应内容长度</summary>
    public long ResponseContentLength { get; set; }

    ///<summary>响应状态码</summary>
    public string ResponseCode { get; set; }

    ///<summary>接口耗时</summary>
    public long UsedTimeMillisecond { get; set; }
}
